package cliente.pagina.contenido.solicitudAula;
import comun.constantes.*;
import cliente.pagina.*;
import cliente.pagina.contenido.VistaContenido;
import helpers.solicitudAula.HelperAdministradorSolicitudAula;
import helpers.solicitudAula.HelperSolicitudAulaNueva;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

public class ContenidoSolicitudAulaNueva extends VistaContenido {

  public ContenidoSolicitudAulaNueva() {
  }

  public ContenidoSolicitudAulaNueva(Pagina pagina) {
    this.setPagina(pagina);
  }

  /**
   * Retorna el codigo html de la division contenido
   * @return
   */
  public String getHTMLVista(){
	  String html="";
	  HelperSolicitudAulaNueva helperSolicitudAula = null;
	  HelperAdministradorSolicitudAula helperAdministradorSolicitudAula = null;
	  try{
		  String accion = this.getPagina().getParameter(PARAMETROS_PAGINAS.ACCION);
		  //html += "       <h1>"+this.getTitulo()+"</h1>";
		  helperSolicitudAula = new HelperSolicitudAulaNueva(this.getPagina());
		  if(accion == null || accion.compareTo("null")==0){
			  if(helperSolicitudAula.usuarioRegistradoEnAnioEnCurso()){
				  //html += helperSolicitudAula.generarHTMLPaso1ConfigurarAula(true,true);
				  html += helperSolicitudAula.generarHTMLBienvenido(true);
			  }else  html += helperSolicitudAula.generarHTMLBienvenido(false);
		  }else{
			  if(accion.compareTo(ACCIONES_A_REALIZAR.COMENZAR_CON_LA_SOLICITUD_DE_AULA_VIRTUAL)==0){
				  if(helperSolicitudAula.usuarioRegistradoEnAnioEnCurso()){
					  boolean es_sol_estandar = false;
					  String solicitudAulaNueva = this.getPagina().getParameter(PARAMETROS_PAGINAS.RADIO_SOLICITUD_AULA_NUEVA);
					  if(solicitudAulaNueva.compareTo(TIPO_SOLICITUD.ESTANDAR)==0)es_sol_estandar = true;
					  html += helperSolicitudAula.generarHTMLPaso1ConfigurarAula(true,es_sol_estandar);
				  }else html += helperSolicitudAula.generarHTMLPaso1ConfigurarAula(true,false);
			  }else if(accion.compareTo(ACCIONES_A_REALIZAR.COFIRMAR_LA_CONFIGURACION_DEL_AULA_E_IR_AL_SIGUIENTE_PASO_AGREGAR_PROFESORES)==0){
				  html += helperSolicitudAula.generarHTMLPaso2AgregarProfesores();
			  }else if(accion.compareTo(ACCIONES_A_REALIZAR.AGREGAR_PROFESORES_E_IR_AL_SIGUIENTE_PASO_CREAR_COMISIONES)==0){
				  html += helperSolicitudAula.generarHTMLPaso3CreandoComisiones();
			  }else if(accion.compareTo(ACCIONES_A_REALIZAR.CREAR_COMISIONES_E_IR_AL_ULTIMO_PASO_MIGRACION)==0){
				  html += helperSolicitudAula.generarHTMLPaso4Migracion();
			  }else if(accion.compareTo(ACCIONES_A_REALIZAR.CREAR_COMISIONES_Y_ENVIAR_SOLICITUD)==0){
				  html += helperSolicitudAula.crearSolicitudYEnviarFormulario();
			  }else if(accion.compareTo(ACCIONES_A_REALIZAR.CONFIGURAR_MIGRACION_Y_ENVIAR_SOLICITUD)==0){
				  html += helperSolicitudAula.crearSolicitudYEnviarFormulario();
			  }else if(accion.compareTo(ACCIONES_A_REALIZAR.TERMINAR_CONFIGURAR_SOLICITUD_DATOS_WM)==0){
				  html += helperSolicitudAula.generarHTMLPasoFinalConfiguracionExclusivoWebMaster();
			  }else if(accion.compareTo(ACCIONES_A_REALIZAR.CHEQUEAR_SOLICITUD)==0){
	    		  html += helperSolicitudAula.generarHTMLPaso1ConfigurarAula(false,false);
			  }else if(accion.compareTo(ACCIONES_A_REALIZAR.ACTUALIZAR_CAMBIOS)==0){
	    		  //Si actualiza cambios, efectua esta accion y luego muestra la solicitud como accion de chequeo
	    		  html += helperSolicitudAula.modificarSolicitud();
	    		  helperSolicitudAula.commit();
	    		  helperAdministradorSolicitudAula = new HelperAdministradorSolicitudAula(this.getPagina());
	    		  html += helperAdministradorSolicitudAula.generarHTMLAdministracionSolicitudesAulas();
	    		  helperAdministradorSolicitudAula.commit();
	    		  return html;
			  }else if(accion.compareTo(ACCIONES_A_REALIZAR.MIGRAR)==0){
	      		  html += helperSolicitudAula.migrar();
	      		  html += helperSolicitudAula.generarHTMLPaso1ConfigurarAula(false,false);
	    	  }
		  }
		  // hago el commit para que se hagan los cambios
		  helperSolicitudAula.commit();

		  return html;
	  }
	  catch (Exception ex) {
		  ex.printStackTrace();
		  helperSolicitudAula.rollback();
		  if(helperAdministradorSolicitudAula!=null)helperAdministradorSolicitudAula.rollback();
		  return "<h1>Se ha producido un error. Intente nuevamente o comunique a <strong>info@siat.unrc.edu.ar</strong> el fallo.</h1>";
	  }
  }

  /**
   * Retrona el titulo de la Pagina
   * @return
   */
  public String getTitulo()
  {
    return TITULOS_PAGINAS.SOLICITUD_DE_AULA_NUEVA;
  }

  // redefino el metodo abstracto de Vista contenido
  protected String getNombrePagina()
  {
    return "solicitud_aula_nueva.jsp";
  }

  // redefino el metodo abstracto de Vista contenido
  public String getTituloLink()
  {
    return "\"Solicitar un aula virtual para mi asignatura\">So<span>"+this.getTeclaAccesoRapido()+"</span>icitar Aula Virtual &nbsp;<small>(Docentes)</small>";
  }
  public String getTeclaAccesoRapido() {	
		return "l";
	}

  // redefino el metodo linkDisponible() para que solo este disponible en
  // el nivel campus
  protected boolean linkDisponible()
  {
    if (this.getPagina() instanceof PaginaCampus)
      return true;
    else
      return false;
  }

  // redefino el metodo abstracto de Vista contenido
  public String getNombreRecurso()
  {
    // ESTA CON ESTE RECURSO PARA QUE TENGA PERMISO A NIVEL CAMPUS
    return RECURSOS.DATOS_PERSONALES;
  }

  // redefinida para dar la subcarpeta donde se colocarta el archivo
  public String getSubcarpetaRecurso()
  {
    return "";
  }


}
